<?php
// +----------------------------------------------------------------------
// | 麦沃德科技赋能开发者，助力中小企业发展
// +----------------------------------------------------------------------
// | Copyright (c) 2017～2024  www.wdadmin.cn    All rights reserved.
// +----------------------------------------------------------------------
// | Wdadmin系统产品软件并不是自由软件，不加密，并不代表开源，未经许可不可自由转售和商用
// +----------------------------------------------------------------------
// | Author: MY WORLD Team <bd@maiwd.cn>   www.wdadmin.cn
// +----------------------------------------------------------------------
/**
 * Class BaseController
 * Desc  基础控制器
 * Create on 2025/5/10 9:59
 * Create by wangyafang
 */

namespace app\api\controller\wddj;


use app\common\controller\Api;

class BaseController  extends Api
{
    /**
     * 校验城市是否开通服务
     * @param string $city 城市字符串（如 "北京市/北京市"）
     * @return \app\api\model\wddj\user\operation\City|false
     */
    protected function validateCity($city)
    {
        if (empty($city)) {
            $this->error('城市名称不能为空');
        }

        // 标准化城市名称（如 "北京市" → "北京"）
        $city = preg_replace([
            '/^北京市/',
            '/^天津市/',
            '/^重庆市/',
            '/^上海市/',
        ], ['北京', '天津', '重庆', '上海'], $city);

        // 截取到倒数第二级（如 "四川省/成都市/双流县" → "四川省/成都市"）
        $lastSlashPos = strrpos($city, '/');
        $str_city = ($lastSlashPos !== false) ? substr($city, 0, $lastSlashPos) : $city;

        // 查询数据库
        $cityObj = (new \app\api\model\wddj\user\operation\City())
            ->where('status','normal')
            ->where(function ($query) use ($str_city,$city){
                $query->where('city', $str_city)->whereOr('city', $city);
            })
            ->find();

        if (!$cityObj) {
            $this->error('城市没有开通代驾服务');
        }

        return $cityObj;
    }
}



 